package com.zzy.system.domain;

import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.zzy.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 功能描述:
 *
 * @author zhouzhiyong
 * @date 2025/1/5 23:48
 */
@Data
public class OutStockSheetOrderDetail extends BaseEntity {
    //主键 自增
    @TableId(type = IdType.AUTO)
    private Integer outStockSheetOrderDetailId;
    private static final long serialVersionUID = 1L;
    // sku_id
    @JSONField(name = "sku_id")
    private String skuId;

    // sku名
    @JSONField(name = "sku_name")
    private String skuName;

    // spu_id
    @JSONField(name = "spu_id")
    private String spuId;

    // 分类名
    @JSONField(name = "category")
    private String category;

    // 出库数
    @JSONField(name = "out_stock_count")
    private BigDecimal outStockCount;

    // 是否缺货
    @JSONField(name = "out_of_stock")
    private boolean outOfStock;

    // 基本单位
    @JSONField(name = "std_unit_name")
    private String stdUnitName;

    // 销售单位
    @JSONField(name = "sale_unit_name")
    private String saleUnitName;

    // 销售规格
    @JSONField(name = "sale_ratio")
    private BigDecimal saleRatio;

    // 出库成本价（单位:元，基本单位，只有单据已出库才会有值，否则默认0）
    @JSONField(name = "sale_price")
    private BigDecimal salePrice;

    // 成本金额（含税，单位:元，基本单位，只有单据已出库才会有值，否则默认0）
    @JSONField(name = "money")
    private BigDecimal money;

    // 成本金额（不含税，单位:元，基本单位，只有单据已出库才会有值，否则默认0）
    @JSONField(name = "money_no_tax")
    private BigDecimal moneyNoTax;
    private int isPush;
    private Date pushDate;

    private String outStockSheetId;
    @JSONField(name = "batch_details")
    @TableField(exist = false)
    private List<OutStockSheetOrderDetailBatch> outStockSheetOrderDetailBatchList;
}
